#ifndef _VN_EVENT_MANAGER_H_
#define _VN_EVENT_MANAGER_H_

#include "..\Generic\GameTime.h"
#include "..\Generic\Event.h"
#include <vector>

class EventManager
{
public:
	EventManager(void);
	~EventManager(void);

	void update(const GameTime& p_gameTime);
	void addEvent(vn::Event* p_event) { m_events.push_back(p_event); }
	void clearEvents();

protected:
	inline void removeEvent(vn::Event* p_event);

	std::vector<vn::Event*> m_events;
	std::vector<vn::Event*> m_destroyList;
};

#endif // _VN_EVENT_MANAGER_H_